package com.fightingFish.user.service.impl;

import com.fightingFish.user.bean.Anchor;
import com.fightingFish.user.bean.User;
import com.fightingFish.user.dao.impl.AnchorDaoImpl;
import com.fightingFish.user.service.AnchorService;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2018/12/18.
 */
public class AnchorServiceImpl implements AnchorService {

    private AnchorDaoImpl adi = new AnchorDaoImpl();

    /**
     * 根据关键字查询主播
     *
     * @param keyWords
     * @return
     */
    @Override
    public List<Anchor> queryAnchorByKeyWords(String keyWords) {
        return adi.queryAnchorByKeyWords(keyWords);
    }

    /**
     * 查询当前登录用户关注的主播列表
     *
     * @param userId
     * @return
     */
    @Override
    public List<Anchor> queryAttentionAnchor(int userId) {
        return adi.queryAttentionAnchor(userId);
    }

    /**
     * 根据主播房间号查询主播信息
     *
     * @param roomId
     * @return
     */
    @Override
    public Anchor queryAnchorByRoomId(int roomId) {
        return adi.queryAnchorByRoomId(roomId);
    }

    /**
     * 根据主播直播类型查询主播列表
     *
     * @param type
     * @return
     */
    @Override
    public List<Anchor> queryAnchorByType(int type) {
        return adi.queryAnchorByType(type);
    }

    /**
     * 根据主播关注量查询主播列表
     *
     * @return
     */
    @Override
    public List<Anchor> queryAnchorByAttention() {
        return adi.queryAnchorByAttention();
    }

    /**
     * 根据主播申请时间查询最新的4位主播列表
     *
     * @return
     */
    @Override
    public List<Anchor> queryAnchorByCreateTime() {
        return adi.queryAnchorByCreateTime();
    }

    /**
     * 根据用户ID给用户推荐关注（本身并未关注的粉丝量排行前4的主播）
     *
     * @param userId
     * @return
     */
    @Override
    public List<Anchor> recommendAttention(int userId) {
        return adi.recommendAttention(userId);
    }


    /**
     * 通过id查询到当前主播的余额，及你要提现的金额
     * 实现提现
     */
    @Override
    public Double CashBalance(Integer userId, Double balance) {
        return adi.CashBalance(userId, balance);
    }

    /**
     * 通过id查询到当前主播的粉丝量
     */
    @Override
    public Integer selectAttentionNumsByid(Integer anchorId) {
        return adi.selectAttentionNumsByid(anchorId);
    }

    @Override
    public Anchor selectInfoByAnchorId(Integer anchorId) {
        return adi.selectInfoByAnchorId(anchorId);
    }

    /**
     * 主播可以修改个人的信息
     * （密码，头像，昵称，性别，个性签名，手机号，邮箱）
     * （房间名，直播类型，直播间封面）
     */
    @Override
    public boolean updateInfoByAnvhorid(Integer anchorid, String nickName, String sex, String signInfo, String phone, String email) {
        return adi.updateInfoByAnvhorid(anchorid,nickName, sex, signInfo, phone, email);
    }


    /**
     * 通过主播id遍历当前主播间的全部粉丝信息
     */
    @Override
    public ArrayList<User> selectAllByAnchor(Integer anchorid) {
        return adi.selectAllByAnchor(anchorid);
    }
    @Override
    public List<Anchor> getAnchorAll() {
        return adi.getAnchorAll();
    }

    /**
     * 方法概述：根据ID 查询用户信息
     * @param number
     * @return
     */
    @Override
    public User getAnchorUserId(int number) {

        return  adi.getAnchorUserId(number);
    }
}
